package com.github.niefy.modules.third.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.github.niefy.common.utils.Json;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 二三方模板消息已阅读历史记录,包括尝试发送未成功的消息以及长时间未查阅的消息
 */
@Data
@Builder
@TableName("third_template_msg_detail_log")
public class ThirdTemplateMsgDetailLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 消息ID主键
     */
    @TableId(type = IdType.INPUT)
    private Long msgId;
    /**
     * 消息类型名
     */
    private String msgTypeName;
    /**
     * 消息类型ID
     */
    private String msgTypeId;
    /**
     * 批次号
     */
    private Integer batchNo;
    /**
     * 批次名称
     */
    private String batchName;
    /**
     * 学号
     */
    private String studentNo;
    /**
     * 学生名称
     */
    private String studentName;
    /**
     * 消息标题
     */
    private String msgTitle;
    /**
     * 消息内容
     */
    private String msgContent;
    /**
     *
     */
    private String validFlag;
    /**
     * 操作时间
     */
    private LocalDateTime operateDate;
    /**
     * 推送标识 1,2 已推送,3 推送失败
     */
    private String pushFlag;
    /**
     * 消息推送序列号
     */
    private Long msgPushSeqId;
    /**
     * 消息推送时间
     */
    private LocalDateTime msgPushDate;
    private String msgPushDateStr;

    /**
     * 预发送时间
     */
    @TableField(insertStrategy = FieldStrategy.NOT_EMPTY)
    private LocalDateTime sendTime;


    @Override
    public String toString() {
        return Json.toJsonString(this);
    }
}
